package main

import (
	"fmt"
	"image"
	"io/ioutil"
	"os"
	"github.com/anthonynsimon/bild/transform"
	"github.com/anthonynsimon/bild/imgio"
	"path/filepath"
	"strings"
)

func main01() {
	var filename = "/pkg/1.png"
	filename = strings.TrimSuffix(filename, filepath.Ext(filename))
	fmt.Println(filename)
}
func main() {
	//data,err:=ReadFileData("3.jpeg")
	//if err!=nil{
	//	panic(err)
	//}
	//imageData :=data[:4]
	//
	//s:=get(imageData)
	//fmt.Println(s)
	img, err := imgio.Open("1.png")
	if err!=nil{
		panic(err)
	}
	rotated:=transform.Rotate(img,90,&transform.RotationOptions{ResizeBounds: true, Pivot: &image.Point{0, 0}})
	if err := imgio.Save("output.png", rotated, imgio.PNGEncoder()); err != nil {
		fmt.Println(err)
		return
	}
}

func getFormat(file *os.File) (string) {
	bytes := make([]byte, 4)
	n, _ := file.ReadAt(bytes, 0)
	if n < 4 { return "" }
	if bytes[0] == 0x89 && bytes[1] == 0x50 && bytes[2] == 0x4E && bytes[3] == 0x47 { return "png" }
	if bytes[0] == 0xFF && bytes[1] == 0xD8 { return "jpg" }
	if bytes[0] == 0x47 && bytes[1] == 0x49 && bytes[2] == 0x46 && bytes[3] == 0x38 { return "gif" }
	if bytes[0] == 0x42 && bytes[1] == 0x4D { return "bmp" }
	if bytes[0] == 0x49 && bytes[1] == 0x49 && bytes[2] == 0x2a && bytes[3] == 0x00{ return "tiff"}
	return ""
}

func get(bytes []byte) string {
	if bytes[0] == 0x89 && bytes[1] == 0x50 && bytes[2] == 0x4E && bytes[3] == 0x47 { return "png" }
	if bytes[0] == 0xFF && bytes[1] == 0xD8 { return "jpg" }
	if bytes[0] == 0x47 && bytes[1] == 0x49 && bytes[2] == 0x46 && bytes[3] == 0x38 { return "gif" }
	if bytes[0] == 0x42 && bytes[1] == 0x4D { return "bmp" }
	if bytes[0] == 0x49 && bytes[1] == 0x49 && bytes[2] == 0x2a && bytes[3] == 0x00{ return "tiff"}
	return ""
}



func ReadFileData(path string) ([]byte, error) {
	f, err := os.Open(path)
	if err != nil {
		return nil, err
	}
	defer f.Close()
	fd, err := ioutil.ReadAll(f)
	if err != nil {
		return nil, err
	}
	return fd, nil
}
